﻿#define _CRT_SECURE_NO_WARNINGS
#include"Date.h"
//class Date
//{
//public:
//	void Init(int year, int month, int day)
//	{
//		_year = year;
//		_month = month;
//		_day = day;
//	}
//	void Printf()
//	{
//		cout << _year << '-' << _month <<'-' << _day << endl;
//	}
//private:
//	// 为了区分成员变量，一般习惯上成员变量
//	// 会加一个特殊标识，如_ 或者 m开头
//	int _year; // year_ m_year
//	int _month;
//	int _day;
//};
//int main()
//{
//	Date d1;
//	d1.Init(2025, 10, 30);
//	d1.Printf();
//	Date d2;
//	d2.Init(2025, 10, 31);
//	d2.Printf();
//	return 0;
//}

///////////////////////////////////////////////////////////////////////////////
//class Date
//{
//public:
//	// 1.⽆参构造函数
//	/*Date()
//	{
//		 _year=1; 
//		 _month=1;
//		 _day=1;
//	}*/
//	Date(int year=1, int month=1, int day=1)
//	{
//		_year = year;
//		_month = month;
//		_day = day;
//	}
//	void Printf()
//	{
//		cout << _year << '-' << _month << '-' << _day << endl;
//	}
//private:
//	// 为了区分成员变量，⼀般习惯上成员变量
//	// 会加⼀个特殊标识，如_ 或者 m开头
//	int _year; // year_ m_year
//	int _month;
//	int _day;
//};
//typedef int STDataType;
//class Stack
//{
//public:
//	Stack(int n = 4)
//	{
//		_a = (STDataType*)malloc(sizeof(STDataType) * n);
//		if (nullptr == _a)
//		{
//			perror("malloc申请空间失败");
//			return;
//		}
//		_capacity = n;
//		_top = 0;
//	}//析构
//	~Stack()
//	{
//		free(_a);
//		_a = nullptr;
//		_top = _capacity = 0;
//	}
//private:
//	STDataType* _a;
//	size_t _capacity;
//	size_t _top;
//};
//// 两个Stack实现队列
//class MyQueue
//{
//public:
//	//编译器默认⽣成MyQueue的构造函数调⽤了Stack的构造，完成了两个成员的初始化
//	// 显⽰写析构，也会⾃动调⽤Stack的析构
//	/*~MyQueue()都调用
//	{}*/
//private:
//	Stack pushst;
//	Stack popst;
//};
//int main()
//{
//	// 注意：如果通过⽆参构造函数创建对象时，对象后⾯不⽤跟括号，否则编译器⽆法
//	// 区分这⾥是函数声明还是实例化对象
//	// warning C4930: “Date d3(void)”: 未调⽤原型函数(是否是有意⽤变量定义的?)
//	//Date d1();
//	//d1.Printf();
//	/*Date d1(2025);	
//	d1.Printf();
//	Date d2(2025,10);
//	d2.Printf();
//	Date d3(2025,10,31);
//	d3.Printf();*/
//
//
//
//	//MyQueue d4;
//	Stack d1;
//	Stack d2;
//	//后定义的先析构
//
//	return 0;
//}
/// ////////////////////////////////////////////////////////////////////////////////////////////////////
//class Date
//	{
//	public:
//		Date(int year=1, int month=1, int day=1)
//		{
//			_year = year;
//			_month = month;
//			_day = day;
//		}
//		void Printf()
//		{
//			cout << _year << '-' << _month << '-' << _day << endl;
//		}
//	private:
//		// 为了区分成员变量，⼀般习惯上成员变量
//		// 会加⼀个特殊标识，如_ 或者 m开头
//		int _year; // year_ m_year
//		int _month;
//		int _day;
//};
//void Func1(Date d)
//{
//	cout << &d << endl;
//	d.Printf();
//}
//int main()
//{
//	Date d1;
//	Func1(d1);//c++规定传值调用必须调用拷贝构造
//	return 0;
//}


/////////////////////////////////////////////////////////////////////////

int main()
{
	Date d1(2024, 7, 13);
    d1-=30000;
	d1.Printf();
	return 0;
}

